package com.itcncp.wechat.app.dao.model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class ItcsTransJnlExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public ItcsTransJnlExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andTransNoIsNull() {
            addCriterion("trans_no is null");
            return (Criteria) this;
        }

        public Criteria andTransNoIsNotNull() {
            addCriterion("trans_no is not null");
            return (Criteria) this;
        }

        public Criteria andTransNoEqualTo(String value) {
            addCriterion("trans_no =", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotEqualTo(String value) {
            addCriterion("trans_no <>", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoGreaterThan(String value) {
            addCriterion("trans_no >", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoGreaterThanOrEqualTo(String value) {
            addCriterion("trans_no >=", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoLessThan(String value) {
            addCriterion("trans_no <", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoLessThanOrEqualTo(String value) {
            addCriterion("trans_no <=", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoLike(String value) {
            addCriterion("trans_no like", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotLike(String value) {
            addCriterion("trans_no not like", value, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoIn(List<String> values) {
            addCriterion("trans_no in", values, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotIn(List<String> values) {
            addCriterion("trans_no not in", values, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoBetween(String value1, String value2) {
            addCriterion("trans_no between", value1, value2, "transNo");
            return (Criteria) this;
        }

        public Criteria andTransNoNotBetween(String value1, String value2) {
            addCriterion("trans_no not between", value1, value2, "transNo");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNull() {
            addCriterion("user_id is null");
            return (Criteria) this;
        }

        public Criteria andUserIdIsNotNull() {
            addCriterion("user_id is not null");
            return (Criteria) this;
        }

        public Criteria andUserIdEqualTo(Long value) {
            addCriterion("user_id =", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotEqualTo(Long value) {
            addCriterion("user_id <>", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThan(Long value) {
            addCriterion("user_id >", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("user_id >=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThan(Long value) {
            addCriterion("user_id <", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdLessThanOrEqualTo(Long value) {
            addCriterion("user_id <=", value, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdIn(List<Long> values) {
            addCriterion("user_id in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotIn(List<Long> values) {
            addCriterion("user_id not in", values, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdBetween(Long value1, Long value2) {
            addCriterion("user_id between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andUserIdNotBetween(Long value1, Long value2) {
            addCriterion("user_id not between", value1, value2, "userId");
            return (Criteria) this;
        }

        public Criteria andCarPlateIsNull() {
            addCriterion("car_plate is null");
            return (Criteria) this;
        }

        public Criteria andCarPlateIsNotNull() {
            addCriterion("car_plate is not null");
            return (Criteria) this;
        }

        public Criteria andCarPlateEqualTo(String value) {
            addCriterion("car_plate =", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateNotEqualTo(String value) {
            addCriterion("car_plate <>", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateGreaterThan(String value) {
            addCriterion("car_plate >", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateGreaterThanOrEqualTo(String value) {
            addCriterion("car_plate >=", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateLessThan(String value) {
            addCriterion("car_plate <", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateLessThanOrEqualTo(String value) {
            addCriterion("car_plate <=", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateLike(String value) {
            addCriterion("car_plate like", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateNotLike(String value) {
            addCriterion("car_plate not like", value, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateIn(List<String> values) {
            addCriterion("car_plate in", values, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateNotIn(List<String> values) {
            addCriterion("car_plate not in", values, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateBetween(String value1, String value2) {
            addCriterion("car_plate between", value1, value2, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarPlateNotBetween(String value1, String value2) {
            addCriterion("car_plate not between", value1, value2, "carPlate");
            return (Criteria) this;
        }

        public Criteria andCarClassIsNull() {
            addCriterion("car_class is null");
            return (Criteria) this;
        }

        public Criteria andCarClassIsNotNull() {
            addCriterion("car_class is not null");
            return (Criteria) this;
        }

        public Criteria andCarClassEqualTo(Byte value) {
            addCriterion("car_class =", value, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassNotEqualTo(Byte value) {
            addCriterion("car_class <>", value, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassGreaterThan(Byte value) {
            addCriterion("car_class >", value, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassGreaterThanOrEqualTo(Byte value) {
            addCriterion("car_class >=", value, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassLessThan(Byte value) {
            addCriterion("car_class <", value, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassLessThanOrEqualTo(Byte value) {
            addCriterion("car_class <=", value, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassIn(List<Byte> values) {
            addCriterion("car_class in", values, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassNotIn(List<Byte> values) {
            addCriterion("car_class not in", values, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassBetween(Byte value1, Byte value2) {
            addCriterion("car_class between", value1, value2, "carClass");
            return (Criteria) this;
        }

        public Criteria andCarClassNotBetween(Byte value1, Byte value2) {
            addCriterion("car_class not between", value1, value2, "carClass");
            return (Criteria) this;
        }

        public Criteria andPlateColorIsNull() {
            addCriterion("plate_color is null");
            return (Criteria) this;
        }

        public Criteria andPlateColorIsNotNull() {
            addCriterion("plate_color is not null");
            return (Criteria) this;
        }

        public Criteria andPlateColorEqualTo(Byte value) {
            addCriterion("plate_color =", value, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorNotEqualTo(Byte value) {
            addCriterion("plate_color <>", value, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorGreaterThan(Byte value) {
            addCriterion("plate_color >", value, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorGreaterThanOrEqualTo(Byte value) {
            addCriterion("plate_color >=", value, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorLessThan(Byte value) {
            addCriterion("plate_color <", value, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorLessThanOrEqualTo(Byte value) {
            addCriterion("plate_color <=", value, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorIn(List<Byte> values) {
            addCriterion("plate_color in", values, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorNotIn(List<Byte> values) {
            addCriterion("plate_color not in", values, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorBetween(Byte value1, Byte value2) {
            addCriterion("plate_color between", value1, value2, "plateColor");
            return (Criteria) this;
        }

        public Criteria andPlateColorNotBetween(Byte value1, Byte value2) {
            addCriterion("plate_color not between", value1, value2, "plateColor");
            return (Criteria) this;
        }

        public Criteria andTollFareIsNull() {
            addCriterion("toll_fare is null");
            return (Criteria) this;
        }

        public Criteria andTollFareIsNotNull() {
            addCriterion("toll_fare is not null");
            return (Criteria) this;
        }

        public Criteria andTollFareEqualTo(BigDecimal value) {
            addCriterion("toll_fare =", value, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareNotEqualTo(BigDecimal value) {
            addCriterion("toll_fare <>", value, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareGreaterThan(BigDecimal value) {
            addCriterion("toll_fare >", value, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("toll_fare >=", value, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareLessThan(BigDecimal value) {
            addCriterion("toll_fare <", value, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareLessThanOrEqualTo(BigDecimal value) {
            addCriterion("toll_fare <=", value, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareIn(List<BigDecimal> values) {
            addCriterion("toll_fare in", values, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareNotIn(List<BigDecimal> values) {
            addCriterion("toll_fare not in", values, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("toll_fare between", value1, value2, "tollFare");
            return (Criteria) this;
        }

        public Criteria andTollFareNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("toll_fare not between", value1, value2, "tollFare");
            return (Criteria) this;
        }

        public Criteria andActFareIsNull() {
            addCriterion("act_fare is null");
            return (Criteria) this;
        }

        public Criteria andActFareIsNotNull() {
            addCriterion("act_fare is not null");
            return (Criteria) this;
        }

        public Criteria andActFareEqualTo(BigDecimal value) {
            addCriterion("act_fare =", value, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareNotEqualTo(BigDecimal value) {
            addCriterion("act_fare <>", value, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareGreaterThan(BigDecimal value) {
            addCriterion("act_fare >", value, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("act_fare >=", value, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareLessThan(BigDecimal value) {
            addCriterion("act_fare <", value, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareLessThanOrEqualTo(BigDecimal value) {
            addCriterion("act_fare <=", value, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareIn(List<BigDecimal> values) {
            addCriterion("act_fare in", values, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareNotIn(List<BigDecimal> values) {
            addCriterion("act_fare not in", values, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("act_fare between", value1, value2, "actFare");
            return (Criteria) this;
        }

        public Criteria andActFareNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("act_fare not between", value1, value2, "actFare");
            return (Criteria) this;
        }

        public Criteria andTollTimeIsNull() {
            addCriterion("toll_time is null");
            return (Criteria) this;
        }

        public Criteria andTollTimeIsNotNull() {
            addCriterion("toll_time is not null");
            return (Criteria) this;
        }

        public Criteria andTollTimeEqualTo(Date value) {
            addCriterion("toll_time =", value, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeNotEqualTo(Date value) {
            addCriterion("toll_time <>", value, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeGreaterThan(Date value) {
            addCriterion("toll_time >", value, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("toll_time >=", value, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeLessThan(Date value) {
            addCriterion("toll_time <", value, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeLessThanOrEqualTo(Date value) {
            addCriterion("toll_time <=", value, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeIn(List<Date> values) {
            addCriterion("toll_time in", values, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeNotIn(List<Date> values) {
            addCriterion("toll_time not in", values, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeBetween(Date value1, Date value2) {
            addCriterion("toll_time between", value1, value2, "tollTime");
            return (Criteria) this;
        }

        public Criteria andTollTimeNotBetween(Date value1, Date value2) {
            addCriterion("toll_time not between", value1, value2, "tollTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterionForJDBCDate("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterionForJDBCDate("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterionForJDBCDate("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andILaneIdIsNull() {
            addCriterion("i_lane_id is null");
            return (Criteria) this;
        }

        public Criteria andILaneIdIsNotNull() {
            addCriterion("i_lane_id is not null");
            return (Criteria) this;
        }

        public Criteria andILaneIdEqualTo(String value) {
            addCriterion("i_lane_id =", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdNotEqualTo(String value) {
            addCriterion("i_lane_id <>", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdGreaterThan(String value) {
            addCriterion("i_lane_id >", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdGreaterThanOrEqualTo(String value) {
            addCriterion("i_lane_id >=", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdLessThan(String value) {
            addCriterion("i_lane_id <", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdLessThanOrEqualTo(String value) {
            addCriterion("i_lane_id <=", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdLike(String value) {
            addCriterion("i_lane_id like", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdNotLike(String value) {
            addCriterion("i_lane_id not like", value, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdIn(List<String> values) {
            addCriterion("i_lane_id in", values, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdNotIn(List<String> values) {
            addCriterion("i_lane_id not in", values, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdBetween(String value1, String value2) {
            addCriterion("i_lane_id between", value1, value2, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andILaneIdNotBetween(String value1, String value2) {
            addCriterion("i_lane_id not between", value1, value2, "iLaneId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdIsNull() {
            addCriterion("i_toll_plaza_id is null");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdIsNotNull() {
            addCriterion("i_toll_plaza_id is not null");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdEqualTo(String value) {
            addCriterion("i_toll_plaza_id =", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdNotEqualTo(String value) {
            addCriterion("i_toll_plaza_id <>", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdGreaterThan(String value) {
            addCriterion("i_toll_plaza_id >", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdGreaterThanOrEqualTo(String value) {
            addCriterion("i_toll_plaza_id >=", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdLessThan(String value) {
            addCriterion("i_toll_plaza_id <", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdLessThanOrEqualTo(String value) {
            addCriterion("i_toll_plaza_id <=", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdLike(String value) {
            addCriterion("i_toll_plaza_id like", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdNotLike(String value) {
            addCriterion("i_toll_plaza_id not like", value, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdIn(List<String> values) {
            addCriterion("i_toll_plaza_id in", values, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdNotIn(List<String> values) {
            addCriterion("i_toll_plaza_id not in", values, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdBetween(String value1, String value2) {
            addCriterion("i_toll_plaza_id between", value1, value2, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andITollPlazaIdNotBetween(String value1, String value2) {
            addCriterion("i_toll_plaza_id not between", value1, value2, "iTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andIStationIdIsNull() {
            addCriterion("i_station_id is null");
            return (Criteria) this;
        }

        public Criteria andIStationIdIsNotNull() {
            addCriterion("i_station_id is not null");
            return (Criteria) this;
        }

        public Criteria andIStationIdEqualTo(String value) {
            addCriterion("i_station_id =", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdNotEqualTo(String value) {
            addCriterion("i_station_id <>", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdGreaterThan(String value) {
            addCriterion("i_station_id >", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdGreaterThanOrEqualTo(String value) {
            addCriterion("i_station_id >=", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdLessThan(String value) {
            addCriterion("i_station_id <", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdLessThanOrEqualTo(String value) {
            addCriterion("i_station_id <=", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdLike(String value) {
            addCriterion("i_station_id like", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdNotLike(String value) {
            addCriterion("i_station_id not like", value, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdIn(List<String> values) {
            addCriterion("i_station_id in", values, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdNotIn(List<String> values) {
            addCriterion("i_station_id not in", values, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdBetween(String value1, String value2) {
            addCriterion("i_station_id between", value1, value2, "iStationId");
            return (Criteria) this;
        }

        public Criteria andIStationIdNotBetween(String value1, String value2) {
            addCriterion("i_station_id not between", value1, value2, "iStationId");
            return (Criteria) this;
        }

        public Criteria andELaneIdIsNull() {
            addCriterion("e_lane_id is null");
            return (Criteria) this;
        }

        public Criteria andELaneIdIsNotNull() {
            addCriterion("e_lane_id is not null");
            return (Criteria) this;
        }

        public Criteria andELaneIdEqualTo(String value) {
            addCriterion("e_lane_id =", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdNotEqualTo(String value) {
            addCriterion("e_lane_id <>", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdGreaterThan(String value) {
            addCriterion("e_lane_id >", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdGreaterThanOrEqualTo(String value) {
            addCriterion("e_lane_id >=", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdLessThan(String value) {
            addCriterion("e_lane_id <", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdLessThanOrEqualTo(String value) {
            addCriterion("e_lane_id <=", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdLike(String value) {
            addCriterion("e_lane_id like", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdNotLike(String value) {
            addCriterion("e_lane_id not like", value, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdIn(List<String> values) {
            addCriterion("e_lane_id in", values, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdNotIn(List<String> values) {
            addCriterion("e_lane_id not in", values, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdBetween(String value1, String value2) {
            addCriterion("e_lane_id between", value1, value2, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andELaneIdNotBetween(String value1, String value2) {
            addCriterion("e_lane_id not between", value1, value2, "eLaneId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdIsNull() {
            addCriterion("e_toll_plaza_id is null");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdIsNotNull() {
            addCriterion("e_toll_plaza_id is not null");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdEqualTo(String value) {
            addCriterion("e_toll_plaza_id =", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdNotEqualTo(String value) {
            addCriterion("e_toll_plaza_id <>", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdGreaterThan(String value) {
            addCriterion("e_toll_plaza_id >", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdGreaterThanOrEqualTo(String value) {
            addCriterion("e_toll_plaza_id >=", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdLessThan(String value) {
            addCriterion("e_toll_plaza_id <", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdLessThanOrEqualTo(String value) {
            addCriterion("e_toll_plaza_id <=", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdLike(String value) {
            addCriterion("e_toll_plaza_id like", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdNotLike(String value) {
            addCriterion("e_toll_plaza_id not like", value, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdIn(List<String> values) {
            addCriterion("e_toll_plaza_id in", values, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdNotIn(List<String> values) {
            addCriterion("e_toll_plaza_id not in", values, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdBetween(String value1, String value2) {
            addCriterion("e_toll_plaza_id between", value1, value2, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andETollPlazaIdNotBetween(String value1, String value2) {
            addCriterion("e_toll_plaza_id not between", value1, value2, "eTollPlazaId");
            return (Criteria) this;
        }

        public Criteria andEStationIdIsNull() {
            addCriterion("e_station_id is null");
            return (Criteria) this;
        }

        public Criteria andEStationIdIsNotNull() {
            addCriterion("e_station_id is not null");
            return (Criteria) this;
        }

        public Criteria andEStationIdEqualTo(String value) {
            addCriterion("e_station_id =", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdNotEqualTo(String value) {
            addCriterion("e_station_id <>", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdGreaterThan(String value) {
            addCriterion("e_station_id >", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdGreaterThanOrEqualTo(String value) {
            addCriterion("e_station_id >=", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdLessThan(String value) {
            addCriterion("e_station_id <", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdLessThanOrEqualTo(String value) {
            addCriterion("e_station_id <=", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdLike(String value) {
            addCriterion("e_station_id like", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdNotLike(String value) {
            addCriterion("e_station_id not like", value, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdIn(List<String> values) {
            addCriterion("e_station_id in", values, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdNotIn(List<String> values) {
            addCriterion("e_station_id not in", values, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdBetween(String value1, String value2) {
            addCriterion("e_station_id between", value1, value2, "eStationId");
            return (Criteria) this;
        }

        public Criteria andEStationIdNotBetween(String value1, String value2) {
            addCriterion("e_station_id not between", value1, value2, "eStationId");
            return (Criteria) this;
        }

        public Criteria andTerminalNoIsNull() {
            addCriterion("terminal_no is null");
            return (Criteria) this;
        }

        public Criteria andTerminalNoIsNotNull() {
            addCriterion("terminal_no is not null");
            return (Criteria) this;
        }

        public Criteria andTerminalNoEqualTo(Long value) {
            addCriterion("terminal_no =", value, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoNotEqualTo(Long value) {
            addCriterion("terminal_no <>", value, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoGreaterThan(Long value) {
            addCriterion("terminal_no >", value, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoGreaterThanOrEqualTo(Long value) {
            addCriterion("terminal_no >=", value, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoLessThan(Long value) {
            addCriterion("terminal_no <", value, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoLessThanOrEqualTo(Long value) {
            addCriterion("terminal_no <=", value, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoIn(List<Long> values) {
            addCriterion("terminal_no in", values, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoNotIn(List<Long> values) {
            addCriterion("terminal_no not in", values, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoBetween(Long value1, Long value2) {
            addCriterion("terminal_no between", value1, value2, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andTerminalNoNotBetween(Long value1, Long value2) {
            addCriterion("terminal_no not between", value1, value2, "terminalNo");
            return (Criteria) this;
        }

        public Criteria andPayerIdIsNull() {
            addCriterion("payer_id is null");
            return (Criteria) this;
        }

        public Criteria andPayerIdIsNotNull() {
            addCriterion("payer_id is not null");
            return (Criteria) this;
        }

        public Criteria andPayerIdEqualTo(Byte value) {
            addCriterion("payer_id =", value, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdNotEqualTo(Byte value) {
            addCriterion("payer_id <>", value, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdGreaterThan(Byte value) {
            addCriterion("payer_id >", value, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdGreaterThanOrEqualTo(Byte value) {
            addCriterion("payer_id >=", value, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdLessThan(Byte value) {
            addCriterion("payer_id <", value, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdLessThanOrEqualTo(Byte value) {
            addCriterion("payer_id <=", value, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdIn(List<Byte> values) {
            addCriterion("payer_id in", values, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdNotIn(List<Byte> values) {
            addCriterion("payer_id not in", values, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdBetween(Byte value1, Byte value2) {
            addCriterion("payer_id between", value1, value2, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayerIdNotBetween(Byte value1, Byte value2) {
            addCriterion("payer_id not between", value1, value2, "payerId");
            return (Criteria) this;
        }

        public Criteria andPayStateIsNull() {
            addCriterion("pay_state is null");
            return (Criteria) this;
        }

        public Criteria andPayStateIsNotNull() {
            addCriterion("pay_state is not null");
            return (Criteria) this;
        }

        public Criteria andPayStateEqualTo(Byte value) {
            addCriterion("pay_state =", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotEqualTo(Byte value) {
            addCriterion("pay_state <>", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateGreaterThan(Byte value) {
            addCriterion("pay_state >", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("pay_state >=", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateLessThan(Byte value) {
            addCriterion("pay_state <", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateLessThanOrEqualTo(Byte value) {
            addCriterion("pay_state <=", value, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateIn(List<Byte> values) {
            addCriterion("pay_state in", values, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotIn(List<Byte> values) {
            addCriterion("pay_state not in", values, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateBetween(Byte value1, Byte value2) {
            addCriterion("pay_state between", value1, value2, "payState");
            return (Criteria) this;
        }

        public Criteria andPayStateNotBetween(Byte value1, Byte value2) {
            addCriterion("pay_state not between", value1, value2, "payState");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNull() {
            addCriterion("pay_time is null");
            return (Criteria) this;
        }

        public Criteria andPayTimeIsNotNull() {
            addCriterion("pay_time is not null");
            return (Criteria) this;
        }

        public Criteria andPayTimeEqualTo(Date value) {
            addCriterion("pay_time =", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotEqualTo(Date value) {
            addCriterion("pay_time <>", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThan(Date value) {
            addCriterion("pay_time >", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("pay_time >=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThan(Date value) {
            addCriterion("pay_time <", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeLessThanOrEqualTo(Date value) {
            addCriterion("pay_time <=", value, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeIn(List<Date> values) {
            addCriterion("pay_time in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotIn(List<Date> values) {
            addCriterion("pay_time not in", values, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeBetween(Date value1, Date value2) {
            addCriterion("pay_time between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andPayTimeNotBetween(Date value1, Date value2) {
            addCriterion("pay_time not between", value1, value2, "payTime");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoIsNull() {
            addCriterion("device_app_no is null");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoIsNotNull() {
            addCriterion("device_app_no is not null");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoEqualTo(String value) {
            addCriterion("device_app_no =", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotEqualTo(String value) {
            addCriterion("device_app_no <>", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoGreaterThan(String value) {
            addCriterion("device_app_no >", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoGreaterThanOrEqualTo(String value) {
            addCriterion("device_app_no >=", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoLessThan(String value) {
            addCriterion("device_app_no <", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoLessThanOrEqualTo(String value) {
            addCriterion("device_app_no <=", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoLike(String value) {
            addCriterion("device_app_no like", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotLike(String value) {
            addCriterion("device_app_no not like", value, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoIn(List<String> values) {
            addCriterion("device_app_no in", values, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotIn(List<String> values) {
            addCriterion("device_app_no not in", values, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoBetween(String value1, String value2) {
            addCriterion("device_app_no between", value1, value2, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andDeviceAppNoNotBetween(String value1, String value2) {
            addCriterion("device_app_no not between", value1, value2, "deviceAppNo");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateIsNull() {
            addCriterion("invoice_state is null");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateIsNotNull() {
            addCriterion("invoice_state is not null");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateEqualTo(Byte value) {
            addCriterion("invoice_state =", value, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateNotEqualTo(Byte value) {
            addCriterion("invoice_state <>", value, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateGreaterThan(Byte value) {
            addCriterion("invoice_state >", value, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("invoice_state >=", value, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateLessThan(Byte value) {
            addCriterion("invoice_state <", value, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateLessThanOrEqualTo(Byte value) {
            addCriterion("invoice_state <=", value, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateIn(List<Byte> values) {
            addCriterion("invoice_state in", values, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateNotIn(List<Byte> values) {
            addCriterion("invoice_state not in", values, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateBetween(Byte value1, Byte value2) {
            addCriterion("invoice_state between", value1, value2, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andInvoiceStateNotBetween(Byte value1, Byte value2) {
            addCriterion("invoice_state not between", value1, value2, "invoiceState");
            return (Criteria) this;
        }

        public Criteria andSOrderNoIsNull() {
            addCriterion("s_order_no is null");
            return (Criteria) this;
        }

        public Criteria andSOrderNoIsNotNull() {
            addCriterion("s_order_no is not null");
            return (Criteria) this;
        }

        public Criteria andSOrderNoEqualTo(String value) {
            addCriterion("s_order_no =", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoNotEqualTo(String value) {
            addCriterion("s_order_no <>", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoGreaterThan(String value) {
            addCriterion("s_order_no >", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("s_order_no >=", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoLessThan(String value) {
            addCriterion("s_order_no <", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoLessThanOrEqualTo(String value) {
            addCriterion("s_order_no <=", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoLike(String value) {
            addCriterion("s_order_no like", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoNotLike(String value) {
            addCriterion("s_order_no not like", value, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoIn(List<String> values) {
            addCriterion("s_order_no in", values, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoNotIn(List<String> values) {
            addCriterion("s_order_no not in", values, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoBetween(String value1, String value2) {
            addCriterion("s_order_no between", value1, value2, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andSOrderNoNotBetween(String value1, String value2) {
            addCriterion("s_order_no not between", value1, value2, "sOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoIsNull() {
            addCriterion("d_order_no is null");
            return (Criteria) this;
        }

        public Criteria andDOrderNoIsNotNull() {
            addCriterion("d_order_no is not null");
            return (Criteria) this;
        }

        public Criteria andDOrderNoEqualTo(String value) {
            addCriterion("d_order_no =", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoNotEqualTo(String value) {
            addCriterion("d_order_no <>", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoGreaterThan(String value) {
            addCriterion("d_order_no >", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("d_order_no >=", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoLessThan(String value) {
            addCriterion("d_order_no <", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoLessThanOrEqualTo(String value) {
            addCriterion("d_order_no <=", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoLike(String value) {
            addCriterion("d_order_no like", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoNotLike(String value) {
            addCriterion("d_order_no not like", value, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoIn(List<String> values) {
            addCriterion("d_order_no in", values, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoNotIn(List<String> values) {
            addCriterion("d_order_no not in", values, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoBetween(String value1, String value2) {
            addCriterion("d_order_no between", value1, value2, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andDOrderNoNotBetween(String value1, String value2) {
            addCriterion("d_order_no not between", value1, value2, "dOrderNo");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}